Businesses, governmental agencies, organizations and individuals increasingly rely on applications executing on computer systems to accomplish a wide array of tasks. From filing an insurance claim to executing a financial transaction, computer systems facilitate certain actions that may be otherwise time consuming or prohibitively complex.
Computer systems are often configured by software applications that execute a series of procedural process actions or steps in order perform a desired task. For example, an application can be configured to complete an online product order by performing four steps (or process actions), including, product identification, user information collection, payment information collection, and order confirmation, where one or more of those steps is associated with a corresponding user interface.
When creating a software application, developers utilize programming languages, such as C++, Java, ASP, PHP, etc., to define the steps and, more generally, the functionality of that application. For example, in an application for charting and managing operation of a plant, a developer may draft source code programming steps in the Java language to implement the process flow, business logic, user interface and data model used to achieve the task of creating and managing human (and other) resource records. That Java code is compiled to create a version of the application which is executable by a computer system.
Applications frequently collect, manipulate, analyze or otherwise utilize data that may be considered sensitive or that may otherwise require verification, validation, or other due care. For example, an order placement application may collect credit card information or other financial data, while an enterprise human resources application may collect and store employees' social security numbers, childrens' names, and so forth. Federal regulations, state regulations and corporate privacy policies (hereinafter “data policies”) often require enhanced handling of such sensitive (or other) data. A data policy may dictate that a data property be stored in an encrypted database or require detailed audit records to be generated in the event the value of the data property is modified. Additional steps may be required, as well. For example, within the health care industry, the Health Insurance Portability and Accountability Act (HIPAA) requires that a patient be notified in the event of a data breach involving the patient's personal health information.
Properly harmonizing an application with relevant data policies can be problematic. Developers who design and build applications are frequently unaware or under informed as to relevant data policies and, even those who are aware of those policies, find effecting them can be complicated and time consuming. Furthermore, even in instances where developers properly implement relevant data policies, changes to those policies can place the application out of compliance, necessitating post-facto source code re-writes.
Developers are not the only personnel in an enterprise involved in data policy compliance. Business users must often interface with the developers to identify sensitive data properties during initial design and during implementation phases. Moreover, unless those business personnel have the skills to directly modify a software application, those personnel must team with developers to enhance the functionality of a given application whenever there is a data policy change.
As a result, an object of the invention is to provide improved methods and systems for digital data processing and, more particularly, to facilitate rapid modification of software applications to provide enhanced functionality for the collection, transmission, manipulation, display and storage of data.